package com.songlanyun.modules.account.model.vo;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.songlanyun.common.drive.RootEntity;
import com.songlanyun.common.drive.ValueObject;
import com.songlanyun.common.enums.GoodsConstant;
import com.songlanyun.common.enums.MemberConstant;
import com.songlanyun.common.utils.ShareCodeUtils;
import lombok.Data;
import org.apache.commons.lang.RandomStringUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.shiro.crypto.hash.Sha256Hash;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 会员帐号表（会员的基本信息与关系）
 *
 * @author Mark
 * @email sunlightcs@gmail.com
 * @date 2020-11-02 15:51:10
 */
@Data
public class AccountParentVO  implements ValueObject {

    /**
     *
     */
    private Long id;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 用户名
     */
    private String username;


    private String nickname;

    private String realName;

    /**
     * '锁定状态（0false是未锁定可以正常使用，1true锁定后不能使用'
     */
    private Boolean lockStatus;
    /**
     * 最后一次登录时间
     */
    private Date lastLoginTime;
    /**
     *
     */
    private Date createTime;
    /**
     *
     */
    private Date updateTime;
    /**
     * 推荐用户Id(父级id)
     */
    private Long parentUserId;
    /**
     * 隶属那个商家Id(还是account)
     */
    private Long subjectionShopId;
    /**
     * 邀请码
     */
    private String invitationCode;
    /**
     * 会员注册来源
     * 0：App
     * 1：Wx
     */
    private MemberConstant.RegisterSource registerSource;

    /**
     * 注册时间
     */
    private Date registerTime;

    /**
     * 上级推荐人id逗号拼接
     */
    private String parentPath;

    /**
     * 会员在平台店的等级
     */
    private Integer Level;
    /**
     * 会员在平台店的标识
     */
    private String roleCode="";
    /**
     * 等级名称
     */
    private String roleName="";
    /**
     * 折扣
     */
    private BigDecimal discount;
    /**
     * 是否是店铺
     */
    private Boolean isShop;


    /**
     * 是否被激活
     */
    private Boolean activating = false;

    /**
     * 最后被激活的时间
     */
    private Date lastActivatingTime;

    /**
     * 等级
     */
    private MemberConstant.MemberGrade grade;

    //团队等级
    private Integer teamGrade;

    //董事等级
    private Integer directorGrade;

    //个人业绩
    private BigDecimal personalPerformance;
    //团队业绩
    private BigDecimal teamPerformance;
}
